home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / forms / 3dgd / threed.bas < prev    next >
BASIC Source File  |  1995-03-01  |  5KB  |  116 lines

  1. Option Explicit
  2.  
  3. Sub DrawFrame (Frm As Form, FirstCtrl As Control, SecondCtrl As Control, OffSet As Integer)
  4. Dim iLeft  As Integer, iTop As Integer, iRight As Integer, iBottom As Integer
  5. Dim DrkGray As Long, FullWhite As Long, Black As Long
  6. ' Set the forms properties
  7. Frm.DrawStyle = 6
  8. Frm.FillStyle = 0
  9. Frm.FillColor = QBColor(7)
  10.  
  11. ' Set the three colors
  12. Black = RGB(0, 0, 0)
  13. DrkGray = RGB(128, 128, 128)
  14. FullWhite = RGB(255, 255, 255)
  15.  
  16. ' Left side of frame
  17. iLeft = FirstCtrl.Left - OffSet
  18. ' Top of frame
  19. iTop = FirstCtrl.Top - OffSet
  20. ' Right side of frame
  21. iRight = SecondCtrl.Left + SecondCtrl.Width + OffSet
  22. ' Bottom of frame
  23. iBottom = SecondCtrl.Top + SecondCtrl.Height + OffSet
  24.  
  25. ' Draw the 4 outer lines of the frame to give the raised 3D effect
  26. Frm.Line (iLeft, iTop)-(iRight, iTop), DrkGray
  27. Frm.Line (iLeft, iTop)-(iLeft, iBottom), DrkGray
  28. Frm.Line (iLeft, iBottom)-(iRight, iBottom), FullWhite
  29. Frm.Line (iRight, iTop + 10)-(iRight, iBottom + 10), FullWhite
  30.  
  31. ' Draw the 4 inner lines of the frame to give the inset 3D effect
  32. Frm.Line (iLeft + 20, iTop + 20)-(iRight, iTop + 20), FullWhite
  33. Frm.Line (iLeft + 20, iTop + 20)-(iLeft + 20, iBottom), FullWhite
  34. Frm.Line (iLeft + 20, iBottom - 20)-(iRight, iBottom - 20), DrkGray
  35. Frm.Line (iRight - 20, iTop + 20)-(iRight - 20, iBottom), DrkGray
  36.  
  37. End Sub
  38.  
  39. Sub DrawPanel (Frm As Form, FirstCtrl As Control, SecondCtrl As Control, OffSet As Integer, Bevel As Integer)
  40. Dim iLeft  As Integer, iTop As Integer, iRight As Integer, iBottom As Integer
  41. Dim DrkGray As Long, FullWhite As Long, Black As Long
  42. ' Set the forms properties
  43. Frm.DrawStyle = 6
  44. Frm.FillStyle = 0
  45. Frm.FillColor = QBColor(7)
  46.  
  47. ' Set the three colors
  48. Black = RGB(0, 0, 0)
  49. DrkGray = RGB(128, 128, 128)
  50. FullWhite = RGB(255, 255, 255)
  51.  
  52. ' Left side of panel
  53. iLeft = FirstCtrl.Left - OffSet
  54. ' Top of panel
  55. iTop = FirstCtrl.Top - OffSet
  56. ' Right side of panel
  57. iRight = SecondCtrl.Left + SecondCtrl.Width + OffSet
  58. ' Bottom of panel
  59. iBottom = SecondCtrl.Top + SecondCtrl.Height + OffSet
  60.  
  61. ' Draw a black outlined box to be filled by the FillColor (Gray)
  62. Frm.Line (iLeft - 15, iTop - 15)-(iRight + 15, iBottom + 15), Black, B
  63.  
  64. ' Draw the 4 outer lines of the panel to give the raised 3D effect
  65. Frm.Line (iLeft, iTop)-(iRight, iTop), FullWhite
  66. Frm.Line (iLeft, iTop)-(iLeft, iBottom), FullWhite
  67. Frm.Line (iLeft, iBottom)-(iRight, iBottom), DrkGray
  68. Frm.Line (iRight, iTop)-(iRight, iBottom), DrkGray
  69.  
  70. ' Draw the 4 inner lines of the panel to give the inset 3D effect
  71. Frm.Line (iLeft + Bevel, iTop + Bevel)-(iRight - Bevel, iTop + Bevel), DrkGray
  72. Frm.Line (iLeft + Bevel, iTop + Bevel)-(iLeft + Bevel, iBottom - Bevel), DrkGray
  73. Frm.Line (iLeft + Bevel, iBottom - Bevel)-(iRight - Bevel, iBottom - Bevel), FullWhite
  74. Frm.Line (iRight - Bevel, iTop + Bevel)-(iRight - Bevel, iBottom - Bevel), FullWhite
  75.  
  76. End Sub
  77.  
  78. Sub OutLines (FormName As Form)
  79.     Dim DrkGray As Long, FullWhite As Long
  80.     Dim I As Integer
  81.     Dim ctop As Integer, cleft As Integer, cright As Integer, cbottom As Integer
  82.  
  83.     ' Outline a form's controls for 3D look unless control's TAG
  84.     ' property is set to "skip".
  85.  
  86.     Dim cname As Control
  87.     DrkGray = RGB(128, 128, 128)
  88.     FullWhite = RGB(255, 255, 255)
  89.  
  90.     For I = 0 To (FormName.Controls.Count - 1)
  91.         Set cname = FormName.Controls(I)
  92.         If TypeOf cname Is Menu Then
  93.             'Debug.Print "menu item"
  94.         ElseIf (UCase(cname.Tag) = "OLD") Then
  95.             ctop = cname.Top - screen.TwipsPerPixelY
  96.             cleft = cname.Left - screen.TwipsPerPixelX
  97.             cright = cname.Left + cname.Width
  98.             cbottom = cname.Top + cname.Height
  99.             FormName.Line (cleft, ctop)-(cright, ctop), DrkGray
  100.             FormName.Line (cleft, ctop)-(cleft, cbottom), DrkGray
  101.             FormName.Line (cleft, cbottom)-(cright, cbottom), FullWhite
  102.             FormName.Line (cright, ctop)-(cright, cbottom), FullWhite
  103.         ElseIf (UCase(cname.Tag) = "OLU") Then
  104.             ctop = cname.Top - screen.TwipsPerPixelY
  105.             cleft = cname.Left - screen.TwipsPerPixelX
  106.             cright = cname.Left + cname.Width
  107.             cbottom = cname.Top + cname.Height
  108.             FormName.Line (cleft, ctop)-(cright, ctop), FullWhite
  109.             FormName.Line (cleft, ctop)-(cleft, cbottom), FullWhite
  110.             FormName.Line (cleft, cbottom)-(cright, cbottom), DrkGray
  111.             FormName.Line (cright, ctop)-(cright, cbottom), DrkGray
  112.         End If
  113.     Next I
  114. End Sub
  115.  
  116.